package com.ktgj.common.core.enums;

/** 常用枚举
 * @author wyj
 * @create 2021-09-16 13:27
 */
public class EmHelper {
    /**
     * 支付方式
     */
    public enum EpmCode {
        OUTDAIKOU, // 1 第三方余额代扣
        DAIKOU     // 2 qunar余额代扣
    }

    /**
     * 银行编号
     */
    public enum EbankCode{
        QUNARPAY, // 1 商户余额代扣
        ALIPAY ,  // 2 支付宝余额代扣
        TENPAY,   // 3 财付通余额代扣
        YEEPAY,   // 4 易宝易宝
        BHEASY,   // 5 易生
        PNRPAY    // 6 汇付天下
    }

    /**
     * 签约银行代扣编号
     */
    public enum EbookCodeSN{
        ALIPAY_SN , // 1 支付宝余额代扣
        TENPAY_SN , // 2 财付通余额代扣
        BHEASYJX , // 3 易生
        PNRPAYJX   // 4 汇付天下
    }

    /**
     * 证件类型
     */
    public enum ECardType{
        NI, //1 身份证
        PP, //4 护照
        ID // 99 其他
    }

    /**
     * 支付方式
     * */
    public enum cardType{
        CREDIT_CARD("creditcard"), //信用卡
        DEBIT_CARD("debitcard"), //借记卡
        UnionPayQR("unionPayQR"), //银联二维码
        Voice("voice"), //语音
        Reserve_Money("reserveMoney"), //预留款支付
        Remittance("remittance"),//汇付天下
        Cash("cash"),//现金
        Alipay("alipay"),//支付宝
        WeChat("weChat"),//微信
        Applets("applets"),//微信小程序
        BankCardPay("bankCardPay"),//银行卡支付
        ;
        cardType(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }
    }

    public enum businessType{
        HOTEL("hotel"), //酒店
        FLIGHT("flight"), //机票
        SERVICE("service"), //贵宾厅
        TRAIN("train"), //火车票
        VIPAisle("VIPAisle"), //vip通道
        CheckIn("checkIn"), //值机
        Customer("customer"), //会员
        Tickets("tickets"), //门票
        SpecialCar("specialCar"), //专车
        Mall("mall"), //商城
        ;
        businessType(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }
    }

    public enum ETicketIdTypeId{
        身份证(1), //身份证
        军人证(2), //军人证
        学生证(3), //学生证
        护照(4), //护照
        港澳居民来往内地通行证(5), //港澳居民来往内地通行证
        其他证(6), //其他证
        台湾居民来往大陆通行证(7), //台湾居民来往大陆通行证
        驾驶证(8), //驾驶证
        港澳通行证(9), //港澳通行证
        户口本(10), //户口本
        出生证明(11), //出生证明
        台湾通行证(12), //台湾通行证
        永久居留身份证(13), //永久居留身份证
        港澳台居民居住证(14), //港澳台居民居住证
        其他证件(99); //其他证件
        ETicketIdTypeId(int value) {
            this.value = value;
        }

        private int value;

        public int getValue() {
            return value;
        }
    }

    public enum CertificateType{
        ID_CARD("ID_CARD"),//身份证
        MILITARY_ID("MILITARY_ID"),//军人证
        PASSPORT("PASSPORT"),//护照
        MTPFHKAMR("MTPFHKAMR"),//港澳居民来往内地通行证
        MTPFTR("MTPFTR"),//台湾居民来往大陆通行证
        RPFHKMATR("RPFHKMATR"),//港澳台居民居住证
        PRICFF("PRICFF"),//外国人永久居留身份证
        HKAMP("HKAMP"),//港澳通行证
        ACCOUNT_BOOK("ACCOUNT_BOOK"),//户口本
        BIRTH_CERTIFICATE("BIRTH_CERTIFICATE"),//出生证明
        TAIWAN_PASS("TAIWAN_PASS"),//台湾通行证

        /** 鼎盛回调 */
        OTHER("OTHER"),//其他
        DRVING_LICENSE("DRVING_LICENSE"),//驾照
        ;
        CertificateType(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }
    }

    public enum SeatingArea{
        random("random"),//随机
        window("window"),//靠窗
        aisle("aisle"),//靠过道
        completed("completed"),//已完成
        undone("undone");//未完成
        SeatingArea(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }
    }

    public enum Audit{
        NotReviewed("notReviewed"),//未审核
        Audited("audited"),//已审核
        AuditFailure("auditFailure");//审核失败
        Audit(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }
    }

    public enum OperationType{
        Customer("customer"),//会员
        Employee("employee"),//员工
        Web("web");//Web
        OperationType(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }
    }

    /**
     * 工单
     * */
    public enum workOrderType{
        /**
         * 工单类型
         * */
        Ordinary("ordinary"),//普通
        DerelictionDuty("derelictionDuty"),//渎失职
        Claim("claim"),//理赔
        Complaint("complaint"),//投诉

        /**
         * 服务赔偿
         * */
        CashCompensation("cashCompensation"),//现金赔偿
        CheckOut("checkOut"),//退卡
        TravelVoucher("travelVoucher"),//出行抵扣券
        VIPRoom("VIPRoom"),//贵宾厅
        Integral("integral"),//积分
        DelayedCancellation("delayedCancellation"),//延误取消险券
        Single("single"),//单次航意险券
        Deduct("deduct"),//会员卡抵扣券
        HealthRegistration("healthRegistration"),//健康挂号
        AttractionTickets("attractionTickets"),//景点门票
        YunnanTourism("yunnanTourism"),//云南旅游

        /**
         * 投诉分类
         * */
        PersonalNegligence("personalNegligence"),//个人失职
        PersonalError("personalError"),//个人失误
        HighCustomerRequirements("highCustomerRequirements"),//客户高要求
        PolicyProcess("policyProcess"),//政策流程
        Partner("partner"),//合作商
        Maintenance("maintenance"),//系统故障/维护
        OverallService("overallService"),//整体服务
        Other("other"),//其他

        /**
         * 投诉性质
         * */
        Efficient("efficient"),//有效
        Invalid("invalid"),//无效

        /**
         * 投诉证明（材料）类型
         * */
        Picture("picture"),//图片
        Document("document"),//文件

        /**
         * 投诉结果（赔偿）
         * */
        Service("service"),//服务赔偿
        Cash("cash"),//现金赔偿
        Check("check"),//退卡

        /**
         * 理赔状态
         * */
        EligibleClaims("eligibleClaims"),//符合理赔
        DenyClaim("denyClaim"),//拒绝理赔
        NotJudged("notJudged"),//未判断
        Claimed("claimed"),//已理赔
        WrittenOff("writtenOff"),//已核销
        Incompatible("incompatible"),//资料不符合理赔
        AlreadyApplied("alreadyApplied"),//已请款理赔中
        PendingReview("pendingReview"),//待审核

        /**
         * 航班状态
         * */
        Delay("delay"),//航班延误
        Cancel("cancel"),//航班取消
        ;
        workOrderType(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }
    }

    /**
     * 服务模块
     * */
    public enum OrderStatus{
        /**
         * 订单状态
         * */
        Unpaid("unpaid"),//未支付
        Paid("paid"),//已支付
        Finish("finish"),//消费完成
        Cancel("cancel"),//取消订单
        Refunding("refunding"),//退款中
        RefundComplete("refundComplete"),//退款完成
        failPay("failPay"), //支付失败

        /**
         * 值机方式
         * */
        Online("online"),//网上值机
        Offline("offline"),//线下值机

        /**
         * 旅游辅营产品状态
         * */
        UnTakeEffect("unTakeEffect"),//未生效
        TakeEffect("takeEffect"),//已生效
        Refund("refund"),//退款完成

        /**
         * 星期
         * */
        OnMonday("OnMonday"),//周一
        Tuesday("Tuesday"),//周二
        Wednesday("Wednesday"),//周三
        Thursday("Thursday"),//周四
        Friday("Friday"),//周五
        Saturday("Saturday"),//周六
        Sunday("Sunday"),//周日

        /**
         * 保险理赔图片类型
         * */
        IDCardJust("IDCardJust"),//身份证正面
        IDCardOpposite("IDCardOpposite"),//身份证反面
        BoardingPass("BoardingPass"),//登机牌
        Prove("Prove"),//延误/取消证明

        /**
         * 供应商类型
         * */
        Group("group"),//团供应商
        Insurance("insurance"),//保险供应商

        /**
         * 出团类型
         * */
        DomesticGroup("domesticGroup"),//国内团
        ForeignMissions("foreignMissions"),//国外团

        /**
         * 会员联系要求
         * */
        ContactNotAllowed("contactNotAllowed"),//不允许联系
        CanBeContacted("CanBeContacted"),//可以联系
        FrequentContact("FrequentContact"),//不要频繁联系

        /**
         * 景点排序
         * */
        sales("sales"),//销量高到底
        level("level"),//级别高到底
        intelligent("intelligent"),//智能

        /**
         * 景点订单类型
         * */
        NotTravel("notTravel"),//未出行
        WaitPay("waitPay"),//待支付
        All("all"),//全部
        ;
        OrderStatus(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }
    }

    /**
     * 会员卡类型
     * */
    public enum customerCardType{
        /**
         * 订单状态
         * */
        Experience("experience"),//体验
        Silver("silver"),//白银
        Gold("gold"),//黄金
        Healthy("healthy"),//黑金健康
        Travel("travel"),//黑金出行

        /**
         * 开卡时间
         * */
        Immediately("immediately"),//立刻开卡
        AfterExpiration("afterExpiration"),//过期后开卡
        ;
        customerCardType(String value) {
            this.value = value;
        }

        private String value;

        public String getValue() {
            return value;
        }
    }
    /**
     * 是否包含VIP通道
     * */
    public enum isIncludeVipchannel{
        yes("yes"),
        no("no"),
        ;
        isIncludeVipchannel(String value){
            this.value=value;
        }
        private String value;

        public String getValue() {
            return value;
        }
    }
}
